const http = require("http");
let html=`
    <!DOCTYPE html>
    <html>
        <head>
            <title>First Server</title>
        </head>
        <body>
            <div>Node.js in service.</div>
        </body>
    </html>
`
let routerTable = {
    '/':async (request,response) =>{
        response.setHeader('content-type','text/html;charset=utf-8');
        response.end(html);
    },
    '/x/y':async (request,response) =>{
        response.end('--ok--');
    },
    '/x/y/z':async (request,response) =>{
        let bufferList = [];
        let totalLength = 0;
    }
}
    request.on('data',chunk =>{
        totalLength+=chunk.length;
        bufferList.push(chunk);
    })
let bodyData=null;
    request.on('end',()=>{
        if(bufferList.length>0)
            bodyData=Buffer.concat(bufferList,totalLength)
        bufferList = [];
        if(bodyData){
            response.setHeader('content-type','text/html;charset=utf-8')
            response.end(bodyData)
        }else{
            response.end();
        }
})
let serv = http.createServer((request,response) => {
    if(routerTable[request.url]===undefined){
        response.statusCode = 404;
        response.end('page not found');
        return
    }
    routerTable[request.url](request,response);
})
serv.listen(3456)